﻿using System;
using System.Collections.Generic;
using System.Linq;

namespace SocialLearning
{
    public static class UAC_Engine
    {
        public static List<UAC_Account> SL_UAC_Account;
        public static List<UAC_AdvancedDetails> SL_UAC_AdvancedDetails;
        public static List<UAC_BasicDetails> SL_UAC_BasicDetails;
        public static List<UAC_EducationalBackground> SL_UAC_EducationalBackground;
        public static List<UAC_InstitutionBackground> SL_UAC_InstitutionBackground;
        public static List<UAC_InstitutionSubjectResult> SL_UAC_InstitutionSubjectResult;
        public static List<UAC_MarketingDetails> SL_UAC_MarketingDetails;
        public static List<UAC_UserManagement> SL_UAC_UserManagement;
        public static UAC_GroupManagement SL_UAC_GroupManagement;
        public static bool IsAdded = false;

        public static void PopulateLists()
        {
            SL_UAC_Account = new List<UAC_Account>();
            SL_UAC_AdvancedDetails = new List<UAC_AdvancedDetails>();
            SL_UAC_BasicDetails = new List<UAC_BasicDetails>();
            SL_UAC_EducationalBackground = new List<UAC_EducationalBackground>();
            SL_UAC_InstitutionBackground = new List<UAC_InstitutionBackground>();
            SL_UAC_InstitutionSubjectResult = new List<UAC_InstitutionSubjectResult>();
            SL_UAC_MarketingDetails = new List<UAC_MarketingDetails>();
            IsAdded = false;
            G_UAC_AdvancedDetails();
            G_UAC_BasicDetails();
            G_UAC_InstitutionSubjectResults();
            G_UAC_MarketingDetails();
            G_UAC_InstitutionBackgrounds();
            G_UAC_EducationalBackgrounds();
            G_UAC_Accounts();
            G_UAC_UserManagement();
            G_UAC_GroupManagement();
            IsAdded = true;
        }

        private static void G_UAC_AdvancedDetails()
        {
            if (!IsAdded)
            {
                UAC_AdvancedDetails TempItem1 = new UAC_AdvancedDetails(new DateTime(1991, 01, 31), "Afrikaans", "White", "Some Address", "Some Address", "Pretoria", "South Africa", "0082");
                TempItem1.uid = 1;
                SL_UAC_AdvancedDetails.Add(TempItem1);

                UAC_AdvancedDetails TempItem2 = new UAC_AdvancedDetails(new DateTime(1988, 08, 15), "Afrikaans", "English", "Some Address", "Some Address", "Pretoria", "South Africa", "0188");
                TempItem1.uid = 2;
                SL_UAC_AdvancedDetails.Add(TempItem2);

                UAC_AdvancedDetails TempItem3 = new UAC_AdvancedDetails(new DateTime(1922, 05, 12), "English", "English", "Some Address", "Some Address", "Pretoria", "South Africa", "0082");
                TempItem1.uid = 3;
                SL_UAC_AdvancedDetails.Add(TempItem3);

                UAC_AdvancedDetails TempItem4 = new UAC_AdvancedDetails(new DateTime(1977, 11, 18), "Afrikaans", "White", "Some Address", "Some Address", "JHB", "South Africa", "0322");
                TempItem1.uid = 4;
                SL_UAC_AdvancedDetails.Add(TempItem4);

                UAC_AdvancedDetails TempItem5 = new UAC_AdvancedDetails(new DateTime(1965, 10, 22), "English", "White", "Some Address", "Some Address", "Pretoria", "South Africa", "0056");
                TempItem1.uid = 5;
                SL_UAC_AdvancedDetails.Add(TempItem5);

                UAC_AdvancedDetails TempItem6 = new UAC_AdvancedDetails(new DateTime(1944, 05, 07), "Afrikaans", "English", "Some Address", "Some Address", "Pretoria", "South Africa", "0088");
                TempItem1.uid = 6;
                SL_UAC_AdvancedDetails.Add(TempItem6);

                UAC_AdvancedDetails TempItem7 = new UAC_AdvancedDetails(new DateTime(1954, 07, 07), "Afrikaans", "White", "Some Address", "Some Address", "Pretoria", "South Africa", "0953");
                TempItem1.uid = 7;
                SL_UAC_AdvancedDetails.Add(TempItem7);

                UAC_AdvancedDetails TempItem8 = new UAC_AdvancedDetails(new DateTime(1954, 03, 14), "Afrikaans", "English", "Some Address", "Some Address", "Pretoria", "South Africa", "3443");
                TempItem1.uid = 8;
                SL_UAC_AdvancedDetails.Add(TempItem8);
            }

        }

        private static void G_UAC_BasicDetails()
        {
            if (!IsAdded)
            {
                UAC_BasicDetails TempItem1 = new UAC_BasicDetails("Franche", "van den Berg", UAC_Gender.Male, "9101315060084", "raezor07@gmail.com", "0791912741", "Client", null);
                TempItem1.uid = 1;
                SL_UAC_BasicDetails.Add(TempItem1);

                UAC_BasicDetails TempItem2 = new UAC_BasicDetails("David", "Hickley", UAC_Gender.Male, "9001315060084", "ehickley@gmail.com", "0826191088", "Client", null);
                TempItem1.uid = 2;
                SL_UAC_BasicDetails.Add(TempItem2);

                UAC_BasicDetails TempItem3 = new UAC_BasicDetails("August", "van den Berg", UAC_Gender.Male, "8802245060084", "avdberg@gmail.com", "0854562248", "Client", null);
                TempItem1.uid = 3;
                SL_UAC_BasicDetails.Add(TempItem3);

                UAC_BasicDetails TempItem4 = new UAC_BasicDetails("John", "Andrew", UAC_Gender.Male, "8905055060084", "jandrew@gmail.com", "0824302584", "Client", null);
                TempItem1.uid = 4;
                SL_UAC_BasicDetails.Add(TempItem4);

                UAC_BasicDetails TempItem5 = new UAC_BasicDetails("Lisa", "Scott", UAC_Gender.Female, "9801012060084", "LisaScott98@gmail.com", "0835849258", "Client", null);
                TempItem1.uid = 5;
                SL_UAC_BasicDetails.Add(TempItem5);

                UAC_BasicDetails TempItem6 = new UAC_BasicDetails("Melisa", "Omega", UAC_Gender.Female, "9806063060084", "momega@gmail.com", "0725846852", "Client", null);
                TempItem1.uid = 6;
                SL_UAC_BasicDetails.Add(TempItem6);

                UAC_BasicDetails TempItem7 = new UAC_BasicDetails("Monique", "van der walt", UAC_Gender.Female, "9205063060084", "moniquevanderwalt@gmail.com", "0721475869", "Client", null);
                TempItem1.uid = 7;
                SL_UAC_BasicDetails.Add(TempItem7);

                UAC_BasicDetails TempItem8 = new UAC_BasicDetails("Morne", "Linge", UAC_Gender.Male, "8604255060084", "mornelinge86@gmail.com", "0718547852", "Client", null);
                TempItem1.uid = 8;
                SL_UAC_BasicDetails.Add(TempItem8);
            }

        }

        private static void G_UAC_InstitutionSubjectResults()
        {
            if (!IsAdded)
            {
                //----------------------Item1------------------------//
                UAC_InstitutionSubjectResult TempItem1 = new UAC_InstitutionSubjectResult("English", "EN01", UAC_Grade.NQF3, "78%");
                TempItem1.uid = 1;
                SL_UAC_InstitutionSubjectResult.Add(TempItem1);
                //----------------------Item2------------------------//
                UAC_InstitutionSubjectResult TempItem2 = new UAC_InstitutionSubjectResult("English", "EN02", UAC_Grade.NQF3, "99%");
                TempItem2.uid = 2;
                SL_UAC_InstitutionSubjectResult.Add(TempItem2);
                //----------------------Item3------------------------//
                UAC_InstitutionSubjectResult TempItem3 = new UAC_InstitutionSubjectResult("Afrikaans", "AF01", UAC_Grade.NQF3, "68%");
                TempItem1.uid = 3;
                SL_UAC_InstitutionSubjectResult.Add(TempItem3);
                //----------------------Item4------------------------//
                UAC_InstitutionSubjectResult TempItem4 = new UAC_InstitutionSubjectResult("Afrikaans", "AF02", UAC_Grade.NQF3, "77%");
                TempItem2.uid = 4;
                SL_UAC_InstitutionSubjectResult.Add(TempItem4);
                //----------------------Item5------------------------//
                UAC_InstitutionSubjectResult TempItem5 = new UAC_InstitutionSubjectResult("History", "HS01", UAC_Grade.NQF3, "65%");
                TempItem1.uid = 5;
                SL_UAC_InstitutionSubjectResult.Add(TempItem5);
                //----------------------Item6------------------------//
                UAC_InstitutionSubjectResult TempItem6 = new UAC_InstitutionSubjectResult("History", "HS02", UAC_Grade.NQF3, "50%");
                TempItem2.uid = 6;
                SL_UAC_InstitutionSubjectResult.Add(TempItem6);
                //----------------------Item7------------------------//
                UAC_InstitutionSubjectResult TempItem7 = new UAC_InstitutionSubjectResult("Maths", "MT01", UAC_Grade.NQF3, "63%");
                TempItem1.uid = 7;
                SL_UAC_InstitutionSubjectResult.Add(TempItem7);
                //----------------------Item8------------------------//
                UAC_InstitutionSubjectResult TempItem8 = new UAC_InstitutionSubjectResult("Maths", "MT02", UAC_Grade.NQF3, "49%");
                TempItem2.uid = 8;
                SL_UAC_InstitutionSubjectResult.Add(TempItem8);
                //----------------------Item9------------------------//
                UAC_InstitutionSubjectResult TempItem9 = new UAC_InstitutionSubjectResult("Biology", "BI01", UAC_Grade.NQF3, "55%");
                TempItem1.uid = 9;
                SL_UAC_InstitutionSubjectResult.Add(TempItem9);
                //----------------------Item10------------------------//
                UAC_InstitutionSubjectResult TempItem10 = new UAC_InstitutionSubjectResult("Biology", "BI02", UAC_Grade.NQF3, "72%");
                TempItem2.uid = 10;
                SL_UAC_InstitutionSubjectResult.Add(TempItem10);
                //----------------------Item11------------------------//
                UAC_InstitutionSubjectResult TempItem11 = new UAC_InstitutionSubjectResult("Geography", "GO01", UAC_Grade.NQF3, "43%");
                TempItem1.uid = 11;
                SL_UAC_InstitutionSubjectResult.Add(TempItem11);
                //----------------------Item12------------------------//
                UAC_InstitutionSubjectResult TempItem12 = new UAC_InstitutionSubjectResult("Geography", "GO02", UAC_Grade.NQF3, "81%");
                TempItem2.uid = 12;
                SL_UAC_InstitutionSubjectResult.Add(TempItem12);
                //----------------------Item13------------------------//
                UAC_InstitutionSubjectResult TempItem13 = new UAC_InstitutionSubjectResult("Woodwork", "WW01", UAC_Grade.NQF2, "88%");
                TempItem1.uid = 13;
                SL_UAC_InstitutionSubjectResult.Add(TempItem13);
                //----------------------Item14------------------------//
                UAC_InstitutionSubjectResult TempItem14 = new UAC_InstitutionSubjectResult("Wookwork", "WW02", UAC_Grade.NQF2, "81%");
                TempItem2.uid = 14;
                SL_UAC_InstitutionSubjectResult.Add(TempItem14);
                //----------------------Item15------------------------//
                UAC_InstitutionSubjectResult TempItem15 = new UAC_InstitutionSubjectResult("Computer Studies", "CS01", UAC_Grade.NQF4, "30%");
                TempItem1.uid = 15;
                SL_UAC_InstitutionSubjectResult.Add(TempItem15);
                //----------------------Item16------------------------//
                UAC_InstitutionSubjectResult TempItem16 = new UAC_InstitutionSubjectResult("Computer Studies", "CS02", UAC_Grade.NQF4, "70%");
                TempItem2.uid = 16;
                SL_UAC_InstitutionSubjectResult.Add(TempItem16);
                //----------------------Item17------------------------//
                UAC_InstitutionSubjectResult TempItem17 = new UAC_InstitutionSubjectResult("English", "EN01", UAC_Grade.NQF3, "56%");
                TempItem1.uid = 17;
                SL_UAC_InstitutionSubjectResult.Add(TempItem17);
                //----------------------Item18------------------------//
                UAC_InstitutionSubjectResult TempItem18 = new UAC_InstitutionSubjectResult("English", "EN01", UAC_Grade.NQF3, "54%");
                TempItem2.uid = 18;
                SL_UAC_InstitutionSubjectResult.Add(TempItem18);
                //----------------------Item19------------------------//
                UAC_InstitutionSubjectResult TempItem19 = new UAC_InstitutionSubjectResult("English", "EN01", UAC_Grade.NQF3, "76%");
                TempItem1.uid = 19;
                SL_UAC_InstitutionSubjectResult.Add(TempItem19);
                //----------------------Item20------------------------//
                UAC_InstitutionSubjectResult TempItem20 = new UAC_InstitutionSubjectResult("Afrikaans", "AF02", UAC_Grade.NQF3, "66%");
                TempItem2.uid = 20;
                SL_UAC_InstitutionSubjectResult.Add(TempItem20);
                //----------------------Item21------------------------//
                UAC_InstitutionSubjectResult TempItem21 = new UAC_InstitutionSubjectResult("Afrikaans", "AF01", UAC_Grade.NQF3, "92%");
                TempItem1.uid = 21;
                SL_UAC_InstitutionSubjectResult.Add(TempItem21);
                //----------------------Item22------------------------//
                UAC_InstitutionSubjectResult TempItem22 = new UAC_InstitutionSubjectResult("Afrikkans", "AF02", UAC_Grade.NQF3, "81%");
                TempItem2.uid = 22;
                SL_UAC_InstitutionSubjectResult.Add(TempItem22);
                //----------------------Item23------------------------//
                UAC_InstitutionSubjectResult TempItem23 = new UAC_InstitutionSubjectResult("History", "HS01", UAC_Grade.NQF3, "78%");
                TempItem1.uid = 23;
                SL_UAC_InstitutionSubjectResult.Add(TempItem23);
                //----------------------Item24------------------------//
                UAC_InstitutionSubjectResult TempItem24 = new UAC_InstitutionSubjectResult("History", "HS01", UAC_Grade.NQF3, "99%");
                TempItem2.uid = 24;
                SL_UAC_InstitutionSubjectResult.Add(TempItem24);
                //----------------------Item25------------------------//
                UAC_InstitutionSubjectResult TempItem25 = new UAC_InstitutionSubjectResult("History", "HS01", UAC_Grade.NQF3, "78%");
                TempItem1.uid = 25;
                SL_UAC_InstitutionSubjectResult.Add(TempItem25);
                //----------------------Item26------------------------//
                UAC_InstitutionSubjectResult TempItem26 = new UAC_InstitutionSubjectResult("Maths", "EN02", UAC_Grade.NQF3, "44%");
                TempItem2.uid = 26;
                SL_UAC_InstitutionSubjectResult.Add(TempItem26);
                //----------------------Item27------------------------//
                UAC_InstitutionSubjectResult TempItem27 = new UAC_InstitutionSubjectResult("Maths", "EN03", UAC_Grade.NQF4, "76%");
                TempItem1.uid = 27;
                SL_UAC_InstitutionSubjectResult.Add(TempItem27);
                //----------------------Item28------------------------//
                UAC_InstitutionSubjectResult TempItem28 = new UAC_InstitutionSubjectResult("Maths", "EN01", UAC_Grade.NQF3, "63%");
                TempItem2.uid = 28;
                SL_UAC_InstitutionSubjectResult.Add(TempItem28);
                //----------------------Item29------------------------//
                UAC_InstitutionSubjectResult TempItem29 = new UAC_InstitutionSubjectResult("Biology", "BI01", UAC_Grade.NQF3, "30%");
                TempItem1.uid = 29;
                SL_UAC_InstitutionSubjectResult.Add(TempItem29);
                //----------------------Item30------------------------//
                UAC_InstitutionSubjectResult TempItem30 = new UAC_InstitutionSubjectResult("Biology", "BI02", UAC_Grade.NQF3, "70%");
                TempItem2.uid = 30;
                SL_UAC_InstitutionSubjectResult.Add(TempItem30);
                //----------------------Item31------------------------//
                UAC_InstitutionSubjectResult TempItem31 = new UAC_InstitutionSubjectResult("Biology", "BI01", UAC_Grade.NQF3, "90%");
                TempItem1.uid = 31;
                SL_UAC_InstitutionSubjectResult.Add(TempItem31);
                //----------------------Item32------------------------//
                UAC_InstitutionSubjectResult TempItem32 = new UAC_InstitutionSubjectResult("Geography", "GO02", UAC_Grade.NQF3, "67%");
                TempItem2.uid = 32;
                SL_UAC_InstitutionSubjectResult.Add(TempItem32);
                //----------------------Item33------------------------//
                UAC_InstitutionSubjectResult TempItem33 = new UAC_InstitutionSubjectResult("Geography", "GO01", UAC_Grade.NQF3, "68%");
                TempItem1.uid = 33;
                SL_UAC_InstitutionSubjectResult.Add(TempItem33);
                //----------------------Item34------------------------//
                UAC_InstitutionSubjectResult TempItem34 = new UAC_InstitutionSubjectResult("Geography", "GO02", UAC_Grade.NQF3, "76%");
                TempItem2.uid = 34;
                SL_UAC_InstitutionSubjectResult.Add(TempItem34);
                //----------------------Item35------------------------//
                UAC_InstitutionSubjectResult TempItem35 = new UAC_InstitutionSubjectResult("Woodwork", "WW01", UAC_Grade.NQF3, "83%");
                TempItem1.uid = 35;
                SL_UAC_InstitutionSubjectResult.Add(TempItem35);
                //----------------------Item36------------------------//
                UAC_InstitutionSubjectResult TempItem36 = new UAC_InstitutionSubjectResult("Woodwork", "WW02", UAC_Grade.NQF3, "99%");
                TempItem2.uid = 36;
                SL_UAC_InstitutionSubjectResult.Add(TempItem2);
                //----------------------Item37------------------------//
                UAC_InstitutionSubjectResult TempItem37 = new UAC_InstitutionSubjectResult("Woodwork", "WW01", UAC_Grade.NQF3, "68%");
                TempItem1.uid = 37;
                SL_UAC_InstitutionSubjectResult.Add(TempItem37);
                //----------------------Item38------------------------//
                UAC_InstitutionSubjectResult TempItem38 = new UAC_InstitutionSubjectResult("Computer Studies", "CS02", UAC_Grade.NQF3, "68%");
                TempItem2.uid = 38;
                SL_UAC_InstitutionSubjectResult.Add(TempItem38);
                //----------------------Item39------------------------//
                UAC_InstitutionSubjectResult TempItem39 = new UAC_InstitutionSubjectResult("Computer Studies", "CS01", UAC_Grade.NQF3, "58%");
                TempItem2.uid = 39;
                SL_UAC_InstitutionSubjectResult.Add(TempItem39);
                //----------------------Item40------------------------//
                UAC_InstitutionSubjectResult TempItem40 = new UAC_InstitutionSubjectResult("Computer Studies", "CS01", UAC_Grade.NQF3, "74%");
                TempItem2.uid = 40;
                SL_UAC_InstitutionSubjectResult.Add(TempItem40);
            }


        }

        private static void G_UAC_MarketingDetails()
        {
            if (!IsAdded)
            {
                UAC_MarketingDetails TempItem1 = new UAC_MarketingDetails("Internet", "No Comment", DateTime.Now, UAC_OccupationStatus.Grade_12_Student, "HTS Pretoria Tuine");
                TempItem1.uid = 1;
                SL_UAC_MarketingDetails.Add(TempItem1);

                UAC_MarketingDetails TempItem2 = new UAC_MarketingDetails("Newspaper", "No Comment", DateTime.Now, UAC_OccupationStatus.TertiaryStudent, "Ferrum");
                TempItem2.uid = 2;
                SL_UAC_MarketingDetails.Add(TempItem2);

                UAC_MarketingDetails TempItem3 = new UAC_MarketingDetails("Magazine", "No Comment", DateTime.Now, UAC_OccupationStatus.Unemployed, "Hoërskool John Voster");
                TempItem3.uid = 3;
                SL_UAC_MarketingDetails.Add(TempItem3);

                UAC_MarketingDetails TempItem4 = new UAC_MarketingDetails("Flyer's", "No Comment", DateTime.Now, UAC_OccupationStatus.Unknown, "Hoërskool Wagpos");
                TempItem4.uid = 4;
                SL_UAC_MarketingDetails.Add(TempItem4);

                UAC_MarketingDetails TempItem5 = new UAC_MarketingDetails("Internet", "No Comment", DateTime.Now, UAC_OccupationStatus.Working, "Hoërskool Harties");
                TempItem5.uid = 5;
                SL_UAC_MarketingDetails.Add(TempItem5);

                UAC_MarketingDetails TempItem6 = new UAC_MarketingDetails("Call Center", "No Comment", DateTime.Now, UAC_OccupationStatus.Year_1_Student, "Hoërskool Wonderboom");
                TempItem6.uid = 6;
                SL_UAC_MarketingDetails.Add(TempItem6);

                UAC_MarketingDetails TempItem7 = new UAC_MarketingDetails("Newspaper", "No Comment", DateTime.Now, UAC_OccupationStatus.Working, "Waterkloof");
                TempItem7.uid = 7;
                SL_UAC_MarketingDetails.Add(TempItem7);

                UAC_MarketingDetails TempItem8 = new UAC_MarketingDetails("Internet", "No Comment", DateTime.Now, UAC_OccupationStatus.Year_4_Student, "Hoërskool Overkruin");
                TempItem8.uid = 8;
                SL_UAC_MarketingDetails.Add(TempItem8);

                UAC_MarketingDetails TempItem9 = new UAC_MarketingDetails("Magazine", "No Comment", DateTime.Now, UAC_OccupationStatus.Grade_10_Student, "Hoërskool Gerrit Maritz");
                TempItem9.uid = 9;
                SL_UAC_MarketingDetails.Add(TempItem9);

                UAC_MarketingDetails TempItem10 = new UAC_MarketingDetails("Internet", "No Comment", DateTime.Now, UAC_OccupationStatus.Working, "Hoërskool Brits");
                TempItem10.uid = 10;
                SL_UAC_MarketingDetails.Add(TempItem10);
            }

        }

        private static void G_UAC_InstitutionBackgrounds()
        {
            if (!IsAdded)
            {
                UAC_InstitutionBackground TempItem1 = new UAC_InstitutionBackground("HTS Pretoria Tuine", DateTime.Today, DateTime.Today);
                TempItem1.uid = 1;
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[0]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[6]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[7]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[8]);
                SL_UAC_InstitutionBackground.Add(TempItem1);

                UAC_InstitutionBackground TempItem2 = new UAC_InstitutionBackground("Ferrum", DateTime.Today, DateTime.Today);
                TempItem2.uid = 2;
                TempItem2.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[1]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[9]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[10]);
                SL_UAC_InstitutionBackground.Add(TempItem2);

                UAC_InstitutionBackground TempItem3 = new UAC_InstitutionBackground("Pretoria Tuine", DateTime.Today, DateTime.Today);
                TempItem1.uid = 3;
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[2]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[11]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[14]);
                SL_UAC_InstitutionBackground.Add(TempItem3);

                UAC_InstitutionBackground TempItem4 = new UAC_InstitutionBackground("Wonderboom", DateTime.Today, DateTime.Today);
                TempItem2.uid = 4;
                TempItem2.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[3]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[12]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[29]);
                SL_UAC_InstitutionBackground.Add(TempItem4);

                UAC_InstitutionBackground TempItem5 = new UAC_InstitutionBackground("John Voster", DateTime.Today, DateTime.Today);
                TempItem1.uid = 5;
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[4]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[13]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[36]);
                SL_UAC_InstitutionBackground.Add(TempItem5);

                UAC_InstitutionBackground TempItem6 = new UAC_InstitutionBackground("Ferrum", DateTime.Today, DateTime.Today);
                TempItem2.uid = 6;
                TempItem2.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[17]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[15]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[30]);
                SL_UAC_InstitutionBackground.Add(TempItem6);

                UAC_InstitutionBackground TempItem7 = new UAC_InstitutionBackground("HTS Pretoria Tuine", DateTime.Today, DateTime.Today);
                TempItem1.uid = 7;
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[16]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[18]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[35]);
                SL_UAC_InstitutionBackground.Add(TempItem7);

                UAC_InstitutionBackground TempItem8 = new UAC_InstitutionBackground("John Voster", DateTime.Today, DateTime.Today);
                TempItem2.uid = 8;
                TempItem2.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[19]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[23]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[31]);
                SL_UAC_InstitutionBackground.Add(TempItem8);

                UAC_InstitutionBackground TempItem9 = new UAC_InstitutionBackground("Wonderboom", DateTime.Today, DateTime.Today);
                TempItem1.uid = 9;
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[22]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[20]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[32]);
                SL_UAC_InstitutionBackground.Add(TempItem9);

                UAC_InstitutionBackground TempItem10 = new UAC_InstitutionBackground("Hercules", DateTime.Today, DateTime.Today);
                TempItem2.uid = 10;
                TempItem2.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[24]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[21]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[37]);
                SL_UAC_InstitutionBackground.Add(TempItem10);

                UAC_InstitutionBackground TempItem11 = new UAC_InstitutionBackground("Hercules", DateTime.Today, DateTime.Today);
                TempItem1.uid = 11;
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[27]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[25]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[33]);
                SL_UAC_InstitutionBackground.Add(TempItem11);

                UAC_InstitutionBackground TempItem12 = new UAC_InstitutionBackground("HTS Pretoria Tuine", DateTime.Today, DateTime.Today);
                TempItem2.uid = 12;
                TempItem2.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[28]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[34]);
                TempItem1.InstitutionSubjects.Add(SL_UAC_InstitutionSubjectResult[26]);
                SL_UAC_InstitutionBackground.Add(TempItem12);
            }

        }

        private static void G_UAC_EducationalBackgrounds()
        {
            if (!IsAdded)
            {
                UAC_EducationalBackground TempItem1 = new UAC_EducationalBackground();
                TempItem1.uid = 1;
                TempItem1.Institution.Add(SL_UAC_InstitutionBackground[0]);
                TempItem1.Institution.Add(SL_UAC_InstitutionBackground[9]);
                SL_UAC_EducationalBackground.Add(TempItem1);

                UAC_EducationalBackground TempItem2 = new UAC_EducationalBackground();
                TempItem2.uid = 2;
                TempItem2.Institution.Add(SL_UAC_InstitutionBackground[1]);
                TempItem1.Institution.Add(SL_UAC_InstitutionBackground[10]);
                SL_UAC_EducationalBackground.Add(TempItem2);

                UAC_EducationalBackground TempItem3 = new UAC_EducationalBackground();
                TempItem1.uid = 3;
                TempItem1.Institution.Add(SL_UAC_InstitutionBackground[3]);
                SL_UAC_EducationalBackground.Add(TempItem3);

                UAC_EducationalBackground TempItem4 = new UAC_EducationalBackground();
                TempItem2.uid = 4;
                TempItem2.Institution.Add(SL_UAC_InstitutionBackground[4]);
                SL_UAC_EducationalBackground.Add(TempItem4);

                UAC_EducationalBackground TempItem5 = new UAC_EducationalBackground();
                TempItem1.uid = 5;
                TempItem1.Institution.Add(SL_UAC_InstitutionBackground[5]);
                SL_UAC_EducationalBackground.Add(TempItem5);

                UAC_EducationalBackground TempItem6 = new UAC_EducationalBackground();
                TempItem2.uid = 6;
                TempItem2.Institution.Add(SL_UAC_InstitutionBackground[6]);
                SL_UAC_EducationalBackground.Add(TempItem6);

                UAC_EducationalBackground TempItem7 = new UAC_EducationalBackground();
                TempItem1.uid = 7;
                TempItem1.Institution.Add(SL_UAC_InstitutionBackground[7]);
                TempItem1.Institution.Add(SL_UAC_InstitutionBackground[11]);
                SL_UAC_EducationalBackground.Add(TempItem7);

                UAC_EducationalBackground TempItem8 = new UAC_EducationalBackground();
                TempItem2.uid = 8;
                TempItem2.Institution.Add(SL_UAC_InstitutionBackground[8]);
                SL_UAC_EducationalBackground.Add(TempItem8);
            }

        }

        private static void G_UAC_Accounts()
        {
            if (!IsAdded)
            {
                UAC_Account TempItem1 = new UAC_Account();
                TempItem1.uid = 1;
                TempItem1.AccountUID = "UIDTMP1";
                TempItem1.AdvancedAccountDetails = SL_UAC_AdvancedDetails[0];
                TempItem1.BasicAccountDetails = SL_UAC_BasicDetails[0];
                TempItem1.EducationBackground = SL_UAC_EducationalBackground[0];
                TempItem1.MarketingDetails = SL_UAC_MarketingDetails[0];
                TempItem1.Password = "Password";
                TempItem1.SecretPassCode = "aoc";
                TempItem1.SecretQuestion = "Just a Question";
                TempItem1.Status = true;
                SL_UAC_Account.Add(TempItem1);

                UAC_Account TempItem2 = new UAC_Account();
                TempItem2.uid = 2;
                TempItem2.AccountUID = "UIDTMP2";
                TempItem2.AdvancedAccountDetails = SL_UAC_AdvancedDetails[1];
                TempItem2.BasicAccountDetails = SL_UAC_BasicDetails[1];
                TempItem2.EducationBackground = SL_UAC_EducationalBackground[1];
                TempItem2.MarketingDetails = SL_UAC_MarketingDetails[1];
                TempItem2.Password = "Password";
                TempItem2.SecretPassCode = "123";
                TempItem2.SecretQuestion = "Just a Question";
                TempItem2.Status = true;
                SL_UAC_Account.Add(TempItem2);

                UAC_Account TempItem3 = new UAC_Account();
                TempItem3.uid = 3;
                TempItem3.AccountUID = "UIDTMP3";
                TempItem3.AdvancedAccountDetails = SL_UAC_AdvancedDetails[2];
                TempItem3.BasicAccountDetails = SL_UAC_BasicDetails[2];
                TempItem3.EducationBackground = SL_UAC_EducationalBackground[2];
                TempItem3.MarketingDetails = SL_UAC_MarketingDetails[2];
                TempItem3.Password = "pass";
                TempItem3.SecretPassCode = "lol";
                TempItem3.SecretQuestion = "A Test";
                TempItem3.Status = true;
                SL_UAC_Account.Add(TempItem3);

                UAC_Account TempItem4 = new UAC_Account();
                TempItem4.uid = 4;
                TempItem4.AccountUID = "UIDTMP4";
                TempItem4.AdvancedAccountDetails = SL_UAC_AdvancedDetails[3];
                TempItem4.BasicAccountDetails = SL_UAC_BasicDetails[3];
                TempItem4.EducationBackground = SL_UAC_EducationalBackground[3];
                TempItem4.MarketingDetails = SL_UAC_MarketingDetails[3];
                TempItem4.Password = "rofl";
                TempItem4.SecretPassCode = "abc";
                TempItem4.SecretQuestion = "?";
                TempItem4.Status = true;
                SL_UAC_Account.Add(TempItem4);

                UAC_Account TempItem5 = new UAC_Account();
                TempItem5.uid = 5;
                TempItem5.AccountUID = "UIDTMP5";
                TempItem5.AdvancedAccountDetails = SL_UAC_AdvancedDetails[4];
                TempItem5.BasicAccountDetails = SL_UAC_BasicDetails[4];
                TempItem5.EducationBackground = SL_UAC_EducationalBackground[4];
                TempItem5.MarketingDetails = SL_UAC_MarketingDetails[4];
                TempItem5.Password = "lmfao";
                TempItem5.SecretPassCode = "test";
                TempItem5.SecretQuestion = "test";
                TempItem5.Status = true;
                SL_UAC_Account.Add(TempItem5);

                UAC_Account TempItem6 = new UAC_Account();
                TempItem6.uid = 6;
                TempItem6.AccountUID = "UIDTMP6";
                TempItem6.AdvancedAccountDetails = SL_UAC_AdvancedDetails[5];
                TempItem6.BasicAccountDetails = SL_UAC_BasicDetails[5];
                TempItem6.EducationBackground = SL_UAC_EducationalBackground[5];
                TempItem6.MarketingDetails = SL_UAC_MarketingDetails[5];
                TempItem6.Password = "testet";
                TempItem6.SecretPassCode = "sadfsd";
                TempItem6.SecretQuestion = "efwdfwe";
                TempItem6.Status = true;
                SL_UAC_Account.Add(TempItem6);

                UAC_Account TempItem7 = new UAC_Account();
                TempItem7.uid = 7;
                TempItem7.AccountUID = "UIDTMP7";
                TempItem7.AdvancedAccountDetails = SL_UAC_AdvancedDetails[6];
                TempItem7.BasicAccountDetails = SL_UAC_BasicDetails[6];
                TempItem7.EducationBackground = SL_UAC_EducationalBackground[6];
                TempItem7.MarketingDetails = SL_UAC_MarketingDetails[6];
                TempItem7.Password = "pepper";
                TempItem7.SecretPassCode = "candy";
                TempItem7.SecretQuestion = "Sweet?";
                TempItem7.Status = true;
                SL_UAC_Account.Add(TempItem7);

                UAC_Account TempItem8 = new UAC_Account();
                TempItem8.uid = 8;
                TempItem8.AccountUID = "UIDTMP8";
                TempItem8.AdvancedAccountDetails = SL_UAC_AdvancedDetails[7];
                TempItem8.BasicAccountDetails = SL_UAC_BasicDetails[7];
                TempItem8.EducationBackground = SL_UAC_EducationalBackground[7];
                TempItem8.MarketingDetails = SL_UAC_MarketingDetails[7];
                TempItem8.Password = "actual";
                TempItem8.SecretPassCode = "radar";
                TempItem8.SecretQuestion = "Device";
                TempItem8.Status = true;
                SL_UAC_Account.Add(TempItem8);
            }

        }

        private static void G_UAC_UserManagement()
        {
            UAC_UserManagement.userlist = SL_UAC_Account;
        }
           
        private static void G_UAC_GroupManagement()
        {
            if (!IsAdded)
            {
                UAC_GroupManagement.Instance.Create("Admins");
                UAC_GroupManagement.Instance.AddMember("Admins", "9101315060084");
                UAC_GroupManagement.Instance.AddMember("Admins", "9001315060084");

                UAC_GroupManagement.Instance.Create("CIC");
                UAC_GroupManagement.Instance.AddMember("CIC", "8802245060084");
                UAC_GroupManagement.Instance.AddMember("CIC", "8905055060084");

                UAC_GroupManagement.Instance.Create("Clients");
                UAC_GroupManagement.Instance.AddMember("Clients", "9801012060084");
                UAC_GroupManagement.Instance.AddMember("Clients", "9806063060084");
                UAC_GroupManagement.Instance.AddMember("Clients", "9205063060084");
                UAC_GroupManagement.Instance.AddMember("Clients", "9101315060084");

                UAC_GroupManagement.Instance.Create("Unknown");
                UAC_GroupManagement.Instance.AddMember("Unknown", "8604255060084");
                SL_UAC_GroupManagement = UAC_GroupManagement.Instance;
            }

        }      

        //Use USername : raezor07@gmail.com
        //Password : aoc
        public static UAC_Account Login(string email, string password)
        {
            UAC_Account _return = null;
            foreach (UAC_Account item in SL_UAC_Account)
            {
                if (item.BasicAccountDetails.Email == email && item.Password == password)
                {
                    _return = item;
                    break;
                }
            }
            return _return;
        }
    }
}
